#pragma once
#include "tipo_ts.h"
class funcion :
	public tipo_ts
{
public:

	funcion(tabla_simbolos* params,tipo_ts* tiporetorno,tabla_simbolos* ts,Sentencia* instruccion)
	{
		this->params=params;
		this->tiporetorno=tiporetorno;
		this->ts=ts;
		this->instruccion=instruccion;
	}

	~funcion(void)
	{
	}
	void setParams(tabla_simbolos* params){
		this->params=params;
	}
	void setTiporetorno(tipo_ts* tiporetorno){
		this->tiporetorno=tiporetorno;
	}
	void setTs(tabla_simbolos* ts){
		this->ts=ts;
	}
	void setInstruccion(Sentencia* instruccion){
		this->instruccion = instruccion;
	}

	tabla_simbolos* getParams(){
		return this->params;
	}

	tabla_simbolos* getTs(){
		return this->ts;
	}
	Sentencia* getInstruccion(){
		return this->instruccion;
	}

	tipo_ts* getTiporetorno(){
		return this->tiporetorno;
	}

	virtual string is(){
		return "FUNCION";
	}

private:
tabla_simbolos* params;
tipo_ts* tiporetorno;
tabla_simbolos* ts;
Sentencia* instruccion;
};

